#pragma once
class Ticket
{
private:
	int ID;
	int ArriveTime;
	int ServiceTime;
	int ExitTime;
	int ElevID;
	int StartFloor;
	int DestinationFloor;
public:
	Ticket(void);
	Ticket(int ID);
	~Ticket(void);
	bool QCompare(Ticket &);

	void generate(int a_arrivalTime,int a_currentFloor,int a_destination,int a_ID);
	void setService(int time){ServiceTime = time;}
	void setElevator(int elID){ElevID = elID;}
	void setExitTime(int time){ExitTime = time;}

	int getID() {return ID;}
	int getArrival(){return ArriveTime;}
	int getService(){return ServiceTime;}
	int getExitTime(){return ExitTime;}
	int getElevator(){return ElevID;}
	int getStartFloor(){return StartFloor;}
	int getDestination(){return DestinationFloor;}

	
	bool operator()(Ticket* l, Ticket* r){ return l->ArriveTime > r->ArriveTime;} 
	bool operator < (Ticket &);
	bool operator > (Ticket &);
	bool operator == (Ticket &);
};

